package com.scrapy.until.regex;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Regex {
	/**
	 * 返回所以文本查找
	 * 能成功匹配字符串
	 * 完成分割的所有字符串的集合
	 * 保留
	 * @return 返回
	 */
	public static List<String> getListByStringAndRegex(String srcString, String regex) {
		List<String> list = new ArrayList<>();
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(srcString);
		while(matcher.find()){
			list.add(matcher.group());
		}
		return list;
	}
	/**
	 * 根据传入的正则开始匹配
	 * @param str 原字符串
	 * @param regex 正则表达式匹配字符串
	 * @return 返回用户的姓名的字符串
	 */
	public static String getIdName(String str, String regex) {
		if(str.contains("匿名用户")){
			return "匿名用户";
		}
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(str);
		if(matcher.find()){
			String temp = matcher.group(3);
			return temp;
		}
System.err.println("没有找到匹配的字段");
		return "失败数据";
	}


	/**
	 * 根据正则表达式
	 * 找出匹配的字符串
	 * @param str 目标表达式
	 * @param regex 字符匹配串
	 * @return	成功返回目标表达式 失败返回""
	 */
	public static String getContent(String str, String regex){
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(str);
		if(matcher.find()){
			return matcher.group(4);
		}
		return "内容获取失败";
	}



	/**
	 * 根据传入的字符串和传入的表达式
	 * 解析出作者的用户地址
 	 * @param str
	 * @param regex
	 * @return
	 */
	public static String getHeadImage(String str, String regex){
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(str);
		if(matcher.find()){
			return matcher.group(3);
		}
		return "没有解析出图片地址,请检查方法"+Regex.class.getName()+"getHeadImage";

	}
	
	
}